package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 资金账户对象 capital_account
 * 
 * @author ruoyi
 * @date 2025-03-01
 */
public class CapitalAccount extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 资金账户表唯一标识 */
    private Long id;

    /** 资金账户编码 */
    @Excel(name = "资金账户编码")
    private String accountCoding;

    /** 资金账户名称 */
    @Excel(name = "资金账户名称")
    private String accountTitle;

    /** 账户余额 */
    @Excel(name = "账户余额")
    private BigDecimal accountBalance;

    /** 银行类别id */
    @Excel(name = "银行类别id")
    private Long bankId;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private Long cardNumber;

    /** 银企互联 */
    @Excel(name = "银企互联")
    private String interconnect;

    /** 绑定日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "绑定日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdDate;

    /** 到期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date maturityDate;

    /** 币别id */
    @Excel(name = "币别id")
    private Long currencyId;

    /** 会计科目id */
    @Excel(name = "会计科目id")
    private Long subjectId;

    /** 账户状态（1：启用   2：停用   3：删除） */
    @Excel(name = "账户状态", readConverterExp = "1=：启用,2=：停用,3=：删除")
    private Long codingState;

    /** 账户类别（1：银行账户  2：现金账户） */
    @Excel(name = "账户类别", readConverterExp = "1=：银行账户,2=：现金账户")
    private Long accountSort;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setAccountCoding(String accountCoding) 
    {
        this.accountCoding = accountCoding;
    }

    public String getAccountCoding() 
    {
        return accountCoding;
    }
    public void setAccountTitle(String accountTitle) 
    {
        this.accountTitle = accountTitle;
    }

    public String getAccountTitle() 
    {
        return accountTitle;
    }
    public void setAccountBalance(BigDecimal accountBalance) 
    {
        this.accountBalance = accountBalance;
    }

    public BigDecimal getAccountBalance() 
    {
        return accountBalance;
    }
    public void setBankId(Long bankId) 
    {
        this.bankId = bankId;
    }

    public Long getBankId() 
    {
        return bankId;
    }
    public void setCardNumber(Long cardNumber) 
    {
        this.cardNumber = cardNumber;
    }

    public Long getCardNumber() 
    {
        return cardNumber;
    }
    public void setInterconnect(String interconnect) 
    {
        this.interconnect = interconnect;
    }

    public String getInterconnect() 
    {
        return interconnect;
    }
    public void setCreatedDate(Date createdDate) 
    {
        this.createdDate = createdDate;
    }

    public Date getCreatedDate() 
    {
        return createdDate;
    }
    public void setMaturityDate(Date maturityDate) 
    {
        this.maturityDate = maturityDate;
    }

    public Date getMaturityDate() 
    {
        return maturityDate;
    }
    public void setCurrencyId(Long currencyId) 
    {
        this.currencyId = currencyId;
    }

    public Long getCurrencyId() 
    {
        return currencyId;
    }
    public void setSubjectId(Long subjectId) 
    {
        this.subjectId = subjectId;
    }

    public Long getSubjectId() 
    {
        return subjectId;
    }
    public void setCodingState(Long codingState) 
    {
        this.codingState = codingState;
    }

    public Long getCodingState() 
    {
        return codingState;
    }
    public void setAccountSort(Long accountSort) 
    {
        this.accountSort = accountSort;
    }

    public Long getAccountSort() 
    {
        return accountSort;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("accountCoding", getAccountCoding())
            .append("accountTitle", getAccountTitle())
            .append("accountBalance", getAccountBalance())
            .append("bankId", getBankId())
            .append("cardNumber", getCardNumber())
            .append("interconnect", getInterconnect())
            .append("createdDate", getCreatedDate())
            .append("maturityDate", getMaturityDate())
            .append("currencyId", getCurrencyId())
            .append("subjectId", getSubjectId())
            .append("codingState", getCodingState())
            .append("accountSort", getAccountSort())
            .toString();
    }
}
